#include "parser.tab.hpp"
#include <tchar.h>

namespace Calc
{
  class Lexer
  {
  public:
    Lexer(_TCHAR const*, _TCHAR const*);

    Parser::token_type lex(Parser::semantic_type*);

  private:
      // input start
    _TCHAR const* p;
      // input end
    _TCHAR const* const pe;
    _TCHAR const* const eof;
    int cs;
    _TCHAR const* ts;
    _TCHAR const* te;
    int act;
  };
}